package com.burgeon.extention.customer.service;

import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jackrain.nea.exception.QueryException;
import com.jackrain.nea.model.util.QueryEngine;
import nds.log.Logger;
import nds.log.LoggerManager;
import org.springframework.stereotype.Component;

import java.lang.System;
import java.util.ArrayList;
import java.util.List;

@Component
public class OrderCheck {
    private static final Logger log = LoggerManager.getInstance().getLogger(OrderCheck.class.getName());

    /**
     * 	验证的方法
     * @param objectid（当前单据id）
     * @return
     */
    public String orderCheck(long objectid) {
        log.info("OrderCheck=================begin");
//        String app_id = SystemParam.getParam("app_id");
//        String app_secret = SystemParam.getParam("app_secret");
//        String url = SystemParam.getParam("url");
//        String host = SystemParam.getParam("host");
//        String tokenmethod = SystemParam.getParam("tokenmethod");
//        String method = SystemParam.getParam("ordercheck.method");
//        String sql = SystemParam.getParam("ordercheck.sql");
//        String upsql = SystemParam.getParam("ordercheck.upsql");

//        if (StringUtils.isEmpty(app_id) || StringUtils.isEmpty(app_secret) || StringUtils.isEmpty(url)
//                || StringUtils.isEmpty(tokenmethod) || StringUtils.isEmpty(method) || StringUtils.isEmpty(sql)
//                || StringUtils.isEmpty(upsql)) {
//            return "请检查配置文件内信息是否完整！！！";
//        }

//		String token = QueryToken.getToken(url + tokenmethod, app_id, app_secret);
//        //查询保存token表中的token
//        String token = null;
//        try {
//            token = String.valueOf(QueryEngine.getInstance().doQueryOne("select TOKEN from SMZT_TOKEN where MARK = 'SMZT'"));
//        } catch (QueryException e1) {
//            e1.printStackTrace();
//        }
//
//        if(StringUtils.isEmpty(token) || token.equals("null")) {
//            return "token获取失败！！！";
//        }
//
//        log.info("access_token：" + token);
//
//        //查询表数据
//        List dataList = new ArrayList();
//        try {
//            dataList = QueryEngine.getInstance().doQueryList(sql, new Object[] {Integer.valueOf(String.valueOf(objectid))});
//        } catch (QueryException e) {
//            e.printStackTrace();
//        }
//
//        if(dataList == null || dataList.size() == 0) {
//            return "未根据id:" + objectid + "查询到数据！！！";
//        }
//
//        List data = (List) dataList.get(0);
//
//        JSONObject params = new JSONObject();
//        params.put("order_no", String.valueOf(data.get(0)).equals("null") ? "" : String.valueOf(data.get(0)));
//        params.put("channel_order_no", String.valueOf(data.get(1)).equals("null") ? "" : String.valueOf(data.get(1)));
//        params.put("channel_code", String.valueOf(data.get(2)).equals("null") ? "" : String.valueOf(data.get(2)));
//
//        String result = HttpPostUtils.httpPost(url + method, params.toString(), token, app_id, host, SystemParam.CHARSET);
//
//        if(StringUtils.isEmpty(result)) {
//            return "请求接口出现异常，请查看日志并查找原因！！！";
//        }
//
//        JSONObject resultJson = JSON.parseObject(result);
//        if(resultJson.getString("code").equals("0")) {
//            JSONObject dataObj = resultJson.getJSONObject("data");
//            boolean res = dataObj.getBooleanValue("result");
//            if(res) {
//                try {
//                    //更新本单是否允许发货为是
//                    QueryEngine.getInstance().executeUpdate(upsql, new Object[] {Integer.valueOf(String.valueOf(objectid))});
//                    return "当前单据可以发货";
//                } catch (QueryException e) {
//                    log.error(e.getMessage());
//                    return "更新本单是否允许发货发生异常";
//                }
//            }
//        }

        return "当前单据不能发货";
    }
}
